package com.shujia.java.day11.demo3;

import java.util.ArrayList;
import java.util.Collection;

/**
 *  数组长度不可变 满足不了我们的需求 java中推出了集合
 *  集合:存储数据  Java 主要是面向对象 对象就会有多个 为了方便存储和操作这些对象 java中推出了集合
 *  集合:图中多个集合(多个容器)
 *  容器:存放多个数据的东西（容器有多种）
 *
 *  Collection常用方法:
 *  增: add;
 *      addAll;
 *  删:remove;
 *     removeAll;
 *
 *     clear:清空
 *  查:
 *      size:容器中存储元素的个数
 *      contains:查找容器有没有某个元素
 *      containsAll:
 *      equals:判断内容是否==
 *
 *    数组和集合的区别:
 *          长度:数组的长度固定  集合是个动态的数组
 *          数据类型: 集合只能存储引用类型
 *          元素类型:数组只能存储同一类型的元素 集合多个类型
 */
public class Test2 {
    public static void main(String[] args) {
        Collection coll=new ArrayList();
        Collection coll1=new ArrayList();
        Collection coll2=new ArrayList();
        coll.add("张三1");
        coll.add("张三2");
        coll.add("张三3");
        coll.add("张三4");

        coll1.add("张三5");
        coll1.add("张三6");
        coll1.add("张三7");
        coll1.add("张三8");

        coll2.add("张三5");
        coll2.add("张三6");
        coll2.add("张三7");
        coll2.add("张三8");
        // 清空集合中的元素 集合还在
        // 不建议使用 直接clear太暴力
        //coll.clear();
        System.out.println("之前的集合:");
        System.out.println(coll);

        //加All 比较高级的操作
        //参数为Collection 添加集合

        coll.addAll(coll1);

        System.out.println("添加之后的集合:");
        System.out.println(coll);
        // removeAll删除集合中的集合 参数只能是集合

//        coll.removeAll(coll1);
//        System.out.println("removeAll之后的集合:");
//        System.out.println(coll);

        System.out.println("开始containsAll:");
        System.out.println("Coll2的值:"+coll2);
        // containsAll 在coll中查找元素中是否包含coll2 包含返回结果为true 补办韩结果为false(子集)
        System.out.println(coll.containsAll(coll2));
    }
}
